package com.joysuch.wwyt.dzhapi.bean;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.TableId;
import com.joysuch.wwyt.common.entity.UserDataEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author JamesZY
 * @since 2021-12-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("wwyt_base_user")
@ApiModel(value = "BaseUser对象", description = "")
public class ApiBaseUserBean extends UserDataEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "不同系统同步唯一标识ID")
    @TableField("unique_id")
    private String uniqueId;

    @ApiModelProperty(value = "姓名")
    @TableField("REAL_NAME")
    private String realName;

    @ApiModelProperty(value = "性别")
    @TableField("GENDER")
    private String gender;

    @ApiModelProperty(value = "出生日期")
    @TableField("BIRTHDAY")
    private LocalDate birthday;

    @ApiModelProperty(value = "曾用名")
    @TableField("OLD_NAME")
    private String oldName;

    @ApiModelProperty(value = "身份")
    @TableField("ROLE")
    private Long role;

    @ApiModelProperty(value = "工作单位")
    @TableField("WORK_COMPANY_ID")
    private Long workCompanyId;

    @ApiModelProperty(value = "岗位")
    @TableField("JOB")
    private Long job;

    @ApiModelProperty(value = "证件照")
    @TableField("ID_CARD_IMG_ID")
    private Long idCardImgId;

    @ApiModelProperty(value = "部门")
    @TableField("DEPART_ID")
    private Long departId;

    @ApiModelProperty(value = "工种")
    @TableField("WORK_TYPE_ID")
    private Long workTypeId;

    @ApiModelProperty(value = "民族")
    @TableField("NATION")
    private Long nation;

    @ApiModelProperty(value = "证件类型")
    @TableField("ID_CARD_TYPE")
    private Long idCardType;

    @ApiModelProperty(value = "证件号码")
    @TableField("ID_CARD_NO")
    private String idCardNo;

    @ApiModelProperty(value = "联系电话")
    @TableField("TELEPHONE")
    private String telephone;

    @ApiModelProperty(value = "健康状况")
    @TableField("HEALTH_STATUS")
    private Long healthStatus;

    @ApiModelProperty(value = "学历")
    @TableField("EDUCATION")
    private Long education;

    @ApiModelProperty(value = "专业")
    @TableField("MAJOR")
    private String major;

    @ApiModelProperty(value = "户籍所在省")
    @TableField("CENSUS_REGISTER_PROVINCE")
    private Long censusRegisterProvince;

    @ApiModelProperty(value = "户籍所在市")
    @TableField("CENSUS_REGISTER_CITY")
    private Long censusRegisterCity;

    @TableField("CENSUS_REGISTER_AREA")
    private Long censusRegisterArea;

    @ApiModelProperty(value = "从业所在地省")
    @TableField("WORK_AT_PROVINCE")
    private Long workAtProvince;

    @ApiModelProperty(value = "从业所在地市")
    @TableField("WORK_AT_CITY")
    private Long workAtCity;

    @TableField("WORK_AT_AREA")
    private Long workAtArea;

    @ApiModelProperty(value = "通讯地址")
    @TableField("ADDRESS")
    private String address;

    @ApiModelProperty(value = "邮编")
    @TableField("POSTCODE")
    private String postcode;

    @ApiModelProperty(value = "参加工作时间")
    @TableField("JOIN_WORK_DATE")
    private LocalDate joinWorkDate;

    @ApiModelProperty(value = "职称/技能等级")
    @TableField("TITLE")
    private String title;

    @ApiModelProperty(value = "工作职责")
    @TableField("JOB_DUTY")
    private String jobDuty;

    @ApiModelProperty(value = "工作经历")
    @TableField("JOB_HISTORY")
    private String jobHistory;

    @ApiModelProperty(value = "人员在岗在位同步过去后返回的id")
    private String employeeId;

    @ApiModelProperty(value = "人员编码")
    private String code;

    @ApiModelProperty(value = "户籍")
    @TableField("CENSUS")
    private String census;

    @TableField("WORK")
    private String work;

    private String workType;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "定位卡号")
    private String sn;

    @ApiModelProperty(value = "门禁卡号")
    private String cardNumber;

    @ApiModelProperty(value = "头像图标")
    private String facePic;

    @ApiModelProperty(value = "外部链接URL")
    private String refUrl;

    @ApiModelProperty(value = "0不显示;1显示")
    private Integer state;

    @ApiModelProperty(value = "是否已和人员在岗在位同步数据 默认0 否; 1 是")
    private Boolean locateSync;

    @ApiModelProperty(value = "显示顺序")
    private Integer showNumber;

    @ApiModelProperty(value = "报警模板id")
    private Long alarmTemplateId;

    @ApiModelProperty(value = "报警模板名称")
    private String alarmTemplateName;

    @ApiModelProperty(value = "进入本单位日期")
    private LocalDate enterDate;

    @ApiModelProperty(value = "最高学位")
    private String highestDegree;

    @ApiModelProperty(value = "最后毕业院校")
    private String graduateSchool;

    @ApiModelProperty(value = "政治面貌")
    private Long politicallyId;

    @ApiModelProperty(value = "人员类型")
    private Long personTypeId;

    @ApiModelProperty(value = "办公电话")
    private String officePhone;

    @ApiModelProperty(value = "工龄")
    private Integer workAge;

    @ApiModelProperty(value = "职务")
    private String duty;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "人员帽子id")
    private Long capId;

//    private String departName;
}
